package com.jiangjiang.eshop.commodity.convert;

import com.jiangjiang.eshop.commodity.dto.PropertyDTO;
import com.jiangjiang.eshop.commodity.dto.PropertySaveDTO;
import com.jiangjiang.eshop.commodity.domain.PropertyEntity;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * @Author Jianghaowen
 * @Date 2021/6/1
 * @Description: TODO
 * @Version V1.0
 **/
@Mapper(componentModel = "spring")
public interface PropertyConvert {
    /**
     * PropertySaveDTO 转化为 PropertyEntity
     * @param dto 源对象
     * @return 目标对象
     */
    PropertyEntity convertSaveDto2Entity(PropertySaveDTO dto);

    /**
     * 将PropertyEntity 转化成 PropertyDTO
     * @param entity 源对象
     * @return 目标对象
     */
    PropertyDTO convertEntity2Dto(PropertyEntity entity);

    /**
     * PropertyDTO 转化成 PropertyEntity
     * @param propertyDTO 源对象
     * @return 目标对象
     */
    PropertyEntity convertDto2Entity(PropertyDTO propertyDTO);

    /**
     * List<PropertyEntity>  => ist<PropertyDTO>
     * @param entities 源对象
     * @return 查询结果
     */
    List<PropertyDTO> convertEntities2DTOList(List<PropertyEntity> entities);
}
